Java String类的compareTo()方法

您所在的位置:网站首页 String 对象调用concat Java String类的compareTo()方法

Java String类的compareTo()方法

2023-08-01 01:17| 来源: 网络整理| 查看: 265

  简单来说,String类的compareTo()方法是用来比较两个字符串的字典顺序。   用字符串1跟字符串2作比较,如果字符串1的字典顺序在字符串2前面,则返回一个负数。若在后面,则返回一个正数。若两个字符串的字典顺序相同,则返回0。   这里的字典顺序指的是ASCII码表中的字符顺序。ASCII表中每个字符都有对应的下标,从0开始升序排列,共128个字符。

比较字典顺序的规则

字符串1的第一个字符跟字符串2的第一个字符不相等,则两个字符串都按照第一个字符的ASCII码顺序进行比较,其他字符都不用看,并返回一个整型。

示例 public class MyTest { public static void main(String[] args) { String str1 = "abc"; String str2 = "IloveU"; System.out.println(str1.compareTo(str2)); } }

  以上代码运行结果为24   str1的第一个字符 a 在ASCII码表中十进制的下标为 97 ,str2的第一个字符 I 是 73 ,97比73多24,所以返回 24 。

字符串1的第一个字符如果跟字符串2的第一个字符相等,那么就以两个字符串的第二个字符开始比较,如果还是相等就以第三个字符开始比较……以此类推,直到两个字符串中出现不一样的字符时再比较双方的字典顺序。

示例

public class MyTest { public static void main(String[] args) { String str1 = "aIloveU520"; String str2 = "abc"; System.out.println(str1.compareTo(str2)); } }

  以上代码运行结果为 -25   str1的第二个字符 I 的在ASCII码表中的下标为 73 , str2的第二个字符 b 为 98 ,73比98少25,所以返回-25。

如果两个字符串的前几位字符都相同,但字符串2比字符串1多几位字符,那么就以字符串的长度进行比较。

示例

public class MyTest { public static void main(String[] args) { String str1 = "ljj"; String str2 = "ljjLovexql"; System.out.println(str1.compareTo(str2)); } }

  以上代码运行结果为 -7   str1比str2少7个字符,所以返回 -7



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3